/**
 *
    算法描述：500的长度，怎么读取数字都是问题。考虑用字符串读取，然后转化为数组进行存放。
        然后对a和b数组做小学生加法，将结果存放在c数组中。最后输出c数组即可。
        字符串转化为数组需要做两次，能不能用函数提炼一下呢？说干就干！
    解决所需数据结构+算法：字符串 + 数组 + 模拟
**/
#include<iostream>
#include<cstring>
using namespace std;

void str2arr(string s, int a[]) {
    int len = s.length();
    for (int i = 0; i < len; i++) {
        a[i] = s[len - i - 1] - '0';
    }
}

int main() {
    int a[510], b[510], c[510];
    memset(a, 0, sizeof(a));
    memset(b, 0, sizeof(b));
    memset(c, 0, sizeof(c));
    string sa, sb;
    cin >> sa >> sb;
    str2arr(sa, a);
    str2arr(sb, b);
    // 开始模拟加法
    int len = sa.length() > sb.length() ? sa.length() : sb.length();
    for (int i = 0; i < len; i++) {
        c[i] += a[i] + b[i];
        c[i + 1] += c[i] / 10;
        c[i] %= 10;
    }
    if (c[len] > 0) len++;
    for (int i = len - 1; i >= 0; i--) {
        cout << c[i];
    }

    return 0;
}